package edu.psu.geovista.app.hce.dendroview.node;

import edu.psu.geovista.app.hce.clustering.model.BCluster;

import java.awt.*;
/*
 * GeoVISTA Center (Penn State, Dept. of Geography)
 * Copyright (c), 2003-2011,  Jin Chen and Alan M. MacEachren, GeoVISTA Center, Penn State University
 * Licensed under Simplified BSD License
 *
 * A Binary node drawer todo need change its name to BNodeDrawer
 * @author: jin Chen
 * @date: Jun 9, 2005$
 * @version: 1.0
 */

public interface BNode {
    Point drawCluster(Graphics2D g2d, BCluster cluster);

    Point getLeafLocation(int leafIndex);
    void setGraphBound(Rectangle bound);
    public void setNumOfLeaf(int numOfLeaf);
     public void setOrient(int orient) ;



   /*******************************************************************************************************
    *                more funciton, not mandatory
    *******************************************************************************************************/
    public void setLeafsInterval(double[] leafsInterval) ;
    public void setMaxSimilarity(double maxSimilarity);
    public void setMinSimilarity(double minSimilarity);
    public void setShowdetail(boolean showdetail);
    public boolean isShowdetail();
    public  double getSimilarity ( Point pt);
    public void setSimilarityThreshold(double similarity);
    public double getSimilarityThreshold() ;

    /*******************************************************************************************************
     *                depreciate  for old version
     *******************************************************************************************************/
     int getNodesize();
}
